package com.example.christina.controller;

import com.example.christina.enity.Goods;
import com.example.christina.service.GoodsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping(value = "goods")
public class GoodsController {

    @Autowired
    private GoodsService goodsService;
//
    /*
    * 添加商品
     */
    @PostMapping(path = "addGoods")
    public void addGoods(@RequestBody Goods goods){
        goodsService.addGoods(goods);
    }
//
    /*
    * 删除商品
     */
    @DeleteMapping(path = "deleteGoods")
    public void deleteGoods(@RequestBody Goods goods){
        goodsService.deleteGoods(goods);
    }

    @GetMapping(path = "getAllGoods")
    public List<?> getAllGoods(){
        //获取全部商品
        return goodsService.getAllGoods();
    }

//商品实际无此功能，仅测试时使用
//    @PostMapping(path = "updateGoods")
//   public void updateGoods(@RequestBody Goods goods){
//        //更新商品信息，但商品不能自己更新自己，因此应该加到商家及管理员里
//        goodsService.addGoods(goods);
//    }
//
//    /*
//    * 根据商品名称来查询商品
//    * 查询结果使用List来列出
//     */
//    @GetMapping(path = "getGoods")
//    public List<?> getGoods(@RequestParam String goodname){
//        return goodsRepository.findBygoodname(goodname);
//    }
//    //这里使用List<?>这样一种泛型的列表，来接收从接口传来的数据

    @GetMapping(path = "getGoods")
    public List<?> getGoods(@RequestParam String store){
        //查看店铺的全部货物
        return goodsService.findBystorename(store);
    }

    @GetMapping(path = "getoneGoods")
    public Goods getoneGoods(@RequestParam(required = false) String name)
    {
        return (Goods)goodsService.getGoods(name).get(0);
    }
}
